Repository navigation
Amplia os períodos analíticos e pagina os rankings na versão 2.7.1 - #161
Merged
pitangainnovare merged 16 commits intoNov 9, 2026
Merged
pitangainnovare merged 16 commits into
pitangainnovare merged 16 commits into
Conversation
Separa a conversão das datas das restrições de meses completos e passados.
Aceita recortes diários e o ano corrente segmentado, mantendo as restrições das métricas únicas.
Distingue futuro de ausência e mantém a exigência de meses completos na política estrita.
Cobre bordas, lacunas e a escolha entre totais mensais e mapas diários.
Usa uma seleção de fontes dentro do limite já existente, evitando enumerar grupos por lote.
Vincula a continuação ao período e aos filtros e compartilha o teto de resultados.
Restringe tuplas exatas e mantém o topN calculado após esgotar as páginas dos itens.
Verifica desempate, continuação pelo after_key do OpenSearch, tuplas com valores ausentes e páginas vazias.
Rejeita troca de escopo e excesso de resultados, preservando os filtros temáticos e de publicação.
Permite até dez mil grupos e informa explicitamente quando a consulta ultrapassa o limite.
Mantém a descoberta oficial restrita a meses completos e anuncia a granularidade diária nas extensões.
Inclui metadados mesmo em páginas vazias e separa a cobertura mensal para respeitar os limites do Excel.
Verifica cursores em páginas com e sem itens e a reconstrução de coberturas longas sem truncamento no Excel.
Aplica o parser analítico e expõe os parâmetros de continuação sem alterar os relatórios oficiais.
Alinha o OpenAPI e os exemplos de uso às coberturas e aos limites implementados.
Fecha as melhorias dos períodos analíticos, da paginação dos rankings e dos downloads.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O que esse PR faz?
Fecha a versão 2.7.1 com melhorias nas consultas analíticas da API:
YYYY-MMno mês atual é limitada a hoje; dias explicitamente futuros são rejeitados.limitcontinua sendo o número de itens por grupo, com padrão 100 e máximo 1000. O produtogroup_limit × limitnão pode exceder 10000.VERSIONde2.7.0para2.7.1em um commit final separado.Os relatórios oficiais COUNTER continuam restritos a meses completos e anteriores ao mês atual. Este PR não muda ingestão, granularidade dos índices, controles de acesso ou cotas da versão 2.7.0.
Onde a revisão poderia começar?
counter_api/dates.pyecounter_api/extensions/dates.py: leitura comum das datas e políticas independentes para relatórios oficiais e consultas analíticas.counter_api/extensions/coverage.pyecounter_api/painless.py: recortes diários, cobertura e caminho de soma mensal.counter_api/extensions/ranking.pyecounter_api/extensions/pagination.py: seleção dos grupos, topN exato e vínculo do cursor ao período e aos filtros.counter_api/extensions/exports.py: metadados e integridade do XLSX.counter_api/extensions/views.py,counter_api/extensions/openapi.pyeREADME.md: contrato público e exemplos.Como este poderia ser testado manualmente?
Em ambiente com dados e cobertura disponíveis, respeitando o modo de acesso e as cotas configuradas:
/r51/extensions/capabilities?platform=scl: confiraother_granularity=day, país/idioma emyeare disponibilidade de meses parciais confirmados./r51/extensions/rankingparaentity_type=journals,parent_type=collection,parent_id=scl,platform=scl, usando um intervalo diário com dados. Confira as contagens e os dias incluídos emcoverage. Repita com o mês corrente emYYYY-MMe confirme a data final limitada a hoje.entity_type=articles,parent_type=journal, umparent_idválido egroup_by=country,language, de janeiro a dezembro do mesmo ano, inclusive o corrente. Usegroup_limit=1elimit=10; sigapagination.next_cursorcom o mesmo período e filtros. Confira a continuidade dos grupos e a ordenação dos itens por contagem, com desempate estável por chave.group_limit=21egroup_limit=20&limit=501. Limites válidos e formato de saída podem mudar entre páginas.CoverageeCoverage months; em uma página sem cobertura, a paginação fica na abaPagination./r51/extensions/distributioncom entidade e dimensões válidas: confiratotal, ausência de truncamento e erro explícito ao exceder o teto de grupos.coverage_policy=strictmantém a exigência de meses completos confirmados.Algum cenário de contexto que queira dar?
As extensões analíticas não precisam herdar a restrição temporal dos relatórios oficiais. Os recortes recentes usam as métricas já existentes, sem reprocessamento nem nova granularidade de armazenamento.
Screenshots
N/A
Quais são os tickets relevantes?
N/A
Referências
N/A
Segurança da informação (NSI.04)
Este PR manipula dados sensíveis ou pessoais (LGPD)?
Este PR altera autenticação, autorização, controle de acesso ou gerenciamento de sessão?
Este PR introduz, atualiza ou remove dependências de terceiros?
Este PR foi validado pelo pipeline de segurança (SonarQube / Trivy)?
Pendente de execução/verificação no GitHub; não se declara aprovação de SonarQube/Trivy com base nas verificações locais. Gitleaks local e hooks de commit aprovados.
Este PR concatena, monta ou executa comandos SQL, HTML ou JavaScript a partir de entrada externa?
Este PR expõe novos endpoints, telas ou serviços?
Algum segredo, senha, chave ou token está sendo adicionado ao código-fonte?